<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>deferredlist.js (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>


  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">deferredlist.js</span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    Class for tracking multiple asynchronous operations and
 handling the results. The DeferredList object here is patterned after the
 DeferredList object in the Twisted python networking framework.

 Based on the MochiKit code.

 See: <a href="http://twistedmatrix.com/projects/core/documentation/howto/defer.html">http://twistedmatrix.com/projects/core/documentation/howto/defer.html</a>
  </div>
  

        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="closure_third_party_closure_goog_mochikit_async_deferredlist.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/closure/third_party/closure/goog/mochikit/async/deferredlist.js">Git</a></li>
          </ol>
        </div>
</div>

<h2 class="g-first">File Location</h2>
  <div class="g-section g-tpl-20-80">
    <div class="g-unit g-first">
      <div class="g-c-cell code-label">_party/closure/goog/mochikit/async/deferredlist.js</div>
    </div>
  </div>
<hr/>


  <h2>Classes</h2>
 <div class="fn-constructor">
        <a href="class_goog_async_DeferredList.html">
          goog.async.DeferredList</a><br/>
        <div class="class-details">Constructs an object that waits on the results of multiple asynchronous
operations and marshals the results. It is itself a <code>Deferred</code>,
and sends results to its registered callback chain. Each instance is single
use and may only fire once.

Unless overridden by one of the options below, the <code>DeferredList</code>
will wait for a result from every input <code>Deferred</code>. The results
are stored in a list of two-element arrays as <code>[success, result]</code>,
where <code>success</code> is whether that result was from a callback or
errback. Once all results are available, the <code>DeferredList</code>'s
callback chain is invoked with the full result list.</div>
 </div>
      
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>




  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.async.DeferredList.gatherResults"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.async.DeferredList.</span><span class="entryName">gatherResults<span class="args">(<span class="arg">list</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="class_goog_async_DeferredList.html">goog.async.DeferredList</a></span></div>
      </div>


     <div class="entryOverview">
       Creates a <code>DeferredList</code> that gathers results from multiple
<code>Deferred</code> inputs. If all inputs succeed, the callback is fired
with the list of results as a flat array. If any input fails, the errback is
fired with the error.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">list</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="class_goog_async_Deferred.html">goog.async.Deferred</a></span>&gt;</div>
        <div class="entryOverview">The list of deferred objects to wait for.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="class_goog_async_DeferredList.html">goog.async.DeferredList</a></span></div>&nbsp;
            A new deferred list.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_third_party_closure_goog_mochikit_async_deferredlist.js.source.html#line190">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>






      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Directory async</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">File Reference</h2>
            <div id="sideFileIndex" rootPath="" current="_party/closure/goog/mochikit/async/deferredlist.js"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
